/*
 * @Author: Han
 * @Date: 2019-05-08 14:32:04
 * @Last Modified by: Han
 * @Last Modified time: 2019-06-04 17:22:28
 * @Description 路由鉴权中间件，实现其他路由守卫功能请新建一个中间件
 *
 * **********************************************************
 * * @Strong 这是一个路由中间件，请不要在 serverMiddleware 中使用 *
 * **********************************************************
 */
import cookie from 'js-cookie'
import cookieKeys from '@const/cookie-keys'

const whitePath = ['/login', '/login/register', '/login/retrieve','/login/registerSuccess','/login/bindPhone', '/login/wechatBindPhone', '/login/wechatLoginEndRegister']
// 客户端鉴权
export default function({store, redirect, next, route}) {
  let cookieInfo = {}
  cookieKeys.forEach(key => {
    cookieInfo[key] = cookie.get(key)
  })
  if (whitePath.includes(route.path)) return
  // 未登录
  if (!cookieInfo.userId || !cookieInfo.token) {
    redirect('/login')
  } else if (!store.state.userId) {
    store.commit('update', cookieInfo)
  }
}
